


//十二地支 1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 11、 0
export const DizhIKeys = ['子', '丑', 
  '寅', '卯', 
  '辰', '巳', 
  '午', '未', 
  '申', '酉', 
  '戌', '亥'];

  //天干 1、 2、 3、 4、 5、 6、 7、 8、 9、 0
  export const TianGanKeys = ['甲', '乙', 
    '丙', '丁', 
    '戊', '己', 
    '庚', '辛', 
    '壬', '癸']; 


//六壬
export const SixKeys = ['大安', '留恋', '速喜', '赤口', '小吉', '空亡'];
//五行
export const WuXingKeys = ['金', '木', '水', '火', '土'];
//六神
export const SixGodKeys = ['青龙', '朱雀', '勾陈', '白虎', '玄武', '螣蛇'];
 //五星
export const FiveStarsKeys = ['木星', '火星', '土星', '金星', '水星', '天空'];
 //六亲
export const sixRelationsKeys = ['自身', '子孙', '兄弟', '妻财', '父母', '鬼官'];

//内脏
export const visceraKeys = ['大肠', '肺脏', '膀胱', '肾脏', '胆', '肝脏', '小肠', '心脏', '胃','脾'];


//亲属
export const kinsfolkKeys = ['父', '少女', '中女', '长男', '长女', '中男', '少男', '母'];

//躯干
export const trunkKeys = ['头', '口', '目', '足', '股', '耳', '手', '腹'];





type TDateType = 'selected' | 'disabled' | 'start' | 'centre' | 'end' | '';

export interface TDate {
  date: Date;
  day: number;
  type: TDateType;
  className?: string;
  prefix?: string;
  suffix?: string;
}

 

export interface DivinationOption {
  value: number;
  label: string;
}

/**
 * 六壬
 */
export enum SixRen {
  DAAN = 0,
  LIULIAN = 1,
  SHUXI = 2,
  CHIKOU = 3,
  XIAOJI = 4,
  KONGWANG = 5,
}


/**
 * 五行生克对应六亲
 */
export interface WxShengKe {
  index:number;
  wuxing: WuXing;
  toWo:WuXing;
  woTo:WuXing;
  killWO:WuXing;
  woKill:WuXing;
  same: WuXing;
}

/**
 * 五星 '木星', '火星', '土星', '金星', '水星', '天空'
 */
export enum FiveStars
{
  MUXING = 0,
  HUOXING = 1,
  TUXING = 2,
  JINXING = 3,
  SHUIXING = 4,
  TIANKONG = 5, 
}


// 木星=字体绿色（和木的色块一样）
// 火星=字体红色（和火的色块一样）
// 土星=字体褐色（和土的色块一样）
// 金星=字体橘黄色色（和金的色块一样）
// 水星=字体蓝色（和水的色块一样）
// 天空=黑色

/**
 * 五星 对应的五行
 */
export interface FiveStarsWuXing
{
   
   index:FiveStars;//六神 
   wuxing:WuXing | number;//对应的五行
}
 


/**
 * 六神 对应的五行
 */
export interface SixGodWuXing
{
   
   index:SixGod;//六神 
   wuxing:WuXing;//对应的五行
}
 


/**
 * 六神
 */
export enum SixGod
{
  QINLONG = 0,
  ZHUQIE = 1,
  GOUCHEN = 2,
  BAIHU = 3,
  XUANWU = 4,
  TENGSHE = 5, 
}

/**
 * 五行
 */
export enum WuXing {
  JIN = 0,
  MU = 1,
  SHUI = 2,
  HUO = 3,
  TU = 4
}

//八卦先天属性
export enum BaguaProperty {
  tian ='天', 
  ze = '泽', 
  huo='火', 
  lei='雷', 
  feng='风', 
  shui='水', 
  shan='山', 
  di='地', 
}

/**
 * 方位
 */
export enum BaguaOrientation {
  dong = '东',
  xi = '西', 
  nan='南', 
  bei='北', 
  dongnan='东南', 
  xinan='西南', 
  dongbei='东北', 
  xibei='西北', 
}
/**
 * 内脏
 */
export enum Viscera {
  dachang = 0, 
  feizang = 1, 
  pangguang = 2, 
  shenzang = 3, 
  dan = 4, 
  gan  = 5, 
  xiaochang = 6, 
  xinzang = 7, 
  wei   = 8, 
  pi  = 9,  
}

/**
 * 亲属
 */
export enum Kinsfolk {
  fu = 0, 
  shaonv = 1, 
  zhongnv = 2, 
  zhangnan = 3, 
  zhangnv = 4, 
  zhongnan  = 5, 
  shaonan = 6, 
  mu = 7, 
}

/**
 * 躯干
 */
export enum Trunk {
  tou = 0, 
  kou = 1, 
  mu = 2, 
  zu = 3, 
  gu = 4, 
  er  = 5, 
  shou = 6, 
  fu = 7, 
}


 



/**
 * 两仪
 */
export enum yinYang {
  yin = 0,
  yang = 1, 
}

/**
 * 周易八卦
 */
export interface Bagua
{
   
   xtIndex:number;//先天索引
   htIndex:number;//后天星数
   name:string;//八卦名称
   property:BaguaProperty,//八卦属性
   viscera:Array<Viscera> | null,//对应脏
   kinsfolk:Kinsfolk | null,//对应亲属
   trunk:Trunk | null,//对应躯干


   orientation:BaguaOrientation,//八卦方位
   trigram:Array<yinYang>;//三爻 
   wuxing:WuXing;
}
 
/**
 * 地支
 */
export interface DiZhi {
  index: number;//索引
  name: string; //十二地支
  wuXing:WuXing;//五行
  sixRen:SixRen;//起六神对应六宫 
  brothers:number;//兄弟宫对应的地支索引 
  num:number;//地支对应数字
}
// 子午大安起青龙。 
// 丑未留恋起青龙。 
// 寅申速喜起青龙。 
// 卯酉赤口起青龙。 
// 辰戌小吉起青龙。 
// 巳亥空亡起青龙。

 
export interface SixRentData {
  index: number;//顺时针序号
  name: string; //名称
  sixRen:SixRen;//对应六宫
  One:boolean ;//第一次选中
  Two:boolean ;//第二次选中 
  dizhi:DiZhi| null;//地支
  stars:FiveStarsWuXing | null;//五星
  sixGod:SixGodWuXing| null;//六神
  sixRelations:string;//六亲
  shen:string;//自身 身
  OneName:string;//第一次落宫名称
  TwoName:string;//第二次落宫名称
  baguas:Array<Bagua>;//宫对应的八卦图
  bgwuxing:WuXing;//6宫五行, 这是八卦中五行来对应的

}


    
    

 